import { IBus } from "../api/bus";
import { ICartridge } from "../api/cartridge";
import { ICPU } from "../api/cpu";
import { IEmulator } from "../api/emulator";
import { IInterrupt } from "../api/interrupt";
import { IPPU } from "../api/ppu";
import { IRAM } from "../api/ram";

class Emulator implements IEmulator {
    constructor(
        public cpu: ICPU,
        public ppu: IPPU,
        public cartridge: ICartridge,
        public ppuRam: IRAM,
        public cpuRam: IRAM,
        public cpuBus: IBus,
        public ppuBus: IBus,
        public backgroundPalette: IRAM,
        public spritePalette: IRAM,
        public dma: IDMA,
        public interrupt: IInterrupt,
    ) {

    }
}

export {
    Emulator
}